Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Concurrent connection



  Why do I need a debugger?

  When I begin to learn a new programming language, I will try and master the debugger for it as early as possible. For example, in 2013, while I touched the Go, there seems only gdb for use. Although gdb itself is not a good choice (From Debugging Go Code with GDB): As a consequence, although GDB can be useful in some situations, it is not a reliable debugger for Go programs, particularly heavily concurrent ones. But at that time there was no other choice. So after delve&nb...

       2017-07-21 22:53:16

  Google plans to deprecate FTP URL support in Chrome

Currently people can access FTP list and download resources hosted on FTP servers in Chrome through FTP URLs, but this may not work anymore in the near future. In a post published by Chrome engineers, there is a plan to deprecate FTP support in Chrome version 82. The major motivation for this deprecation is that Chrome doesn't have an encrypted FTP connection support(FTPs), this raises security risk of downloading resources over FTP. Since users can access FTP URLs and download resources, there...

   CHROME 82,CHROME,FTP     2019-08-16 21:35:02

  What can select do in GoLang

In Go language, select is a keyword used to listen to and perform IO operations related to channels. With the select statement, we can simultaneously listen to multiple channels and perform corresponding operations when any of the channels are ready. This article will summarize the common uses of the select statement and provide some considerations when using it. Basic syntax The basic syntax of the select statement is as follows: select { case <-channel1: // when channel1 has data to ...

   GOLANG,SELECT,USAGE,SYNTAX,TUTORIAL     2023-08-12 20:17:02

  A journey to investigate a goroutine leakage case

In Go, creating goroutines is straightforward, but improper usage may result in a large number of goroutines unable to terminate, leading to resource leakage and memory leaks over time. The key to avoiding goroutine leaks is to manage the lifecycle of goroutines properly. By exporting runtime metrics and utilizing pprof, one can detect and resolve goroutine leakage issues. This post will go through one real case encountered by the author. The author maintains a service that connects to a targe...

   TIMEOUT,SSH,GUIDE,DEBUG,LEAK,GOROUTINE,PPROF,GOLANG     2024-03-16 11:00:23

  Hologres vs AWS Redshift

Hologres and Redshift are both data warehousing solutions, but they have some differences in terms of features, architecture, and target use cases. Underlying Infrastructure Hologres: Built on Alibaba Cloud's Apsara distributed computing platform, Hologres leverages the underlying infrastructure for storage, computation, and management. It benefits from Alibaba's expertise in cloud-native architecture and real-time data processing. Redshift: Amazon Redshift is based on a Massively Parallel Pro...

   HOLOGRES,REDSHIFT,ALIBABA,AWS,BIG DATA,REAL-TIME     2024-03-23 01:36:41

  Faster than C

Judging the performance of programming languages, usually C is called the leader, though Fortran is often faster. New programming languages commonly use C as their reference and they are really proud to be only so much slower than C. Few language designer try to beat C. What does it take for a language to be faster than C? Better Aliasing Information Aliasing describes the fact that two references might point to the same memory location. For example, consider the canonical memory copy: void...

   C,Performance,Speed,Fortran,Criteria     2012-03-25 09:12:23

  Introducing LocalDB, an improved SQL Express

Updated 2011-11-28: Added reference to the walkthrough of using LocalDB in Visual Studio 2010 and to the new LocalDB Installer. Updated 2011-11-02: Added reference to .NET Framework 4 support for LocalDB in the Q&A section. Introduction It gives me great pleasure to introduce a new version of SQL Express called SQL Express LocalDB. LocalDB is created specifically for developers. It is very easy to install and requires no management, yet it offers the same T-SQL language, programming surfac...

   LocalDB,Microsoft,SQL Express     2012-03-31 00:13:43

  new() and make() in GoLang

GoLang is a modern, statically typed, compiled programming language designed for building scalable, concurrent, and efficient software. It provides various built-in functions and features that help developers write concise and efficient code. Among them are the new() and make() functions, which may appear similar at first glance but serve different purposes in GoLang and are crucial for memory allocation and data initialization. In this blog article, we will explore the differences between the n...

   NEW,MAKE,GOLANG     2023-11-18 13:43:25

  How to project a phone screen to a PC in Windows 10

In this post, we will show you a simple way to project a phone to a PC in Windows 10. Windows 10 provides a feature called Project to this PC which allows to project other devices on a PC installed with Windows 10. Below are the steps for doing this. 1.Press Win + i key to open Windows Settings. 2. In System menu, click Project to this PC option. Then select either Available everywhere on secure networks or Available everywhere. 3. Now open your phone which you want to project. Ensure it connec...

   PHONE,WINDOWS 10,WIRELESS PROJECTION     2020-03-06 19:53:40

  Fix 'this authentication plugin is not supported' issue while using Go to connect MySQL 8

MySQL 8 has changed its default authentication plugin from mysql_native_password to caching_sha2_password to improve its security. However many third party libraries seem act slowly to catch up with this change. This causes some compatible issues with their connection to MySQL. One of the issues is seen in Go libraries while it's trying to connect to MySQL 8. The specific error has been observed is "this authentication plugin is not supported". The root cause of this issue is that the go-sq...

   MYSQL,GO,MYSQL 8,AUTHENTICATION PLUGIN     2018-07-11 08:55:02